#include #include #include #include /* for exit */ #include char *env_init[] = { "USER=unknown", "PATH=/tmp", NULL }; void err_sys(char * msg) { printf("%s \n", msg); exit(-1); } int main(void) { pid_t pid; if ( (pid = fork()) < 0) err_sys("fork error"); else if (pid == 0) { /* specify pathname, specify environment */ if (execle("/home/agustin/WWW/elo330/programs/controlProcesos/echoall", "echoallOtro", "myarg1", "MY ARG2", (char *) 0, env_init) < 0) err_sys("execle error"); } if (waitpid(pid, NULL, 0) < 0) err_sys("wait error"); if ( (pid = fork()) < 0) err_sys("fork error"); else if (pid == 0) { /* specify filename, inherit environment */ if (execlp("echoall", "echoall", "only 1 arg", (char *) 0) < 0) err_sys("execlp error"); } if (waitpid(pid, NULL, 0) < 0) err_sys("wait error"); exit(0); }