argv0 — runs a program with a specified 0th argument.
argv0
{realname
} {zero
} {args
}
realname
is one argument.
zero
is one argument.
args
is any number of arguments.
argv0 runs the program stored as realname
on disk, with zero
as the 0th argument (rather than realname
) and args
as the remaining arguments.
Some programs pay special attention to the 0th argument. argv0 makes these programs usable from shell scripts.
argv0 /bin/csh -csh
runs /bin/csh with a 0th argument of -csh
.
/bin/csh will think it is a login shell and behave accordingly.
tcpserver 0 ftp argv0 tcpd ftpd -l -A
has a similar effect to the line
ftp stream tcp nowait root tcpd ftpd -l -Ain
/etc/inetd.conf
.
The tcpd program is run with 0th argument [ftpd] and remaining arguments [-l] [-A].
Note that tcpd can and should be replaced by the [-x] option of tcpserver(1):
tcpserver -x ftp.tcp 0 ftp ftpd -l -A