execvp()
/* Exec/execvp.c */
#include <stdio.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
char *arg[] = {"ls","-l",NULL};
printf("Using *execvp* to exec ls -l ...\n");
execvp("ls",arg);
printf("Program Terminated\n");
return 0;
}
execvp()
uses filename, argument array and original ENV to execute the program.
execvp("ls",arg);
It only takes a filename to invoke the program, and it is searched in paths specified in $PATH
in sequence.
The arguments are listed in an array of char*
and passed to the function.
Original environment variable are used in a new program environment.