...
Code Block |
---|
#include < sys/types.h > #include < sys/wait.h > #include < unistd.h > char *env_init[] = { "USER=unknown", "PATH=/tmp", NULL }; int main(void) { pid_t pid; if ( (pid = fork()) < 0) perror("fork error"); else if (pid == 0) < 0) perror("execle error"); " >{ /* specify pathname, specify environment */ if (execle("bin", "echo", "myarg1", "MY ARG2", (char \*) 0, env_init) < 0) perror("execle error"); } if (waitpid(pid, NULL, 0) < 0) perror("wait error"); if ( (pid = fork()) < 0) perror("fork error"); else if (pid == 0) < 0) perror("execlp error"); " >{ /* specify filename, inherit environment */ if (execlp("echo", "echo", "only 1 arg", (char \*) 0) < 0) perror("execlp error"); } exit(0); } |