#include #include #include #include int main() { char prgname[1024]; pid_t pid; int status; if (fgets(prgname, 1024, stdin) == NULL) { printf ("Did not read program name. Aborting!\n"); exit(1); } prgname[strlen(prgname)-1]=0; if ((pid = fork ()) == -1) { perror("fork"); exit(1); } if (pid == 0) { execlp(prgname,prgname,0); printf("%d I did not find program %s\n", getpid(), prgname); exit (1); } else { waitpid(pid, &status, 0); if (status == 0) printf ("Program %s finished!\n", prgname); } return 0; }