2 ** execprog.c -- invoke an external command synchronously
3 ** This is a safer alternative to system(3)
10 execprog(char *cmd, char **arg)
15 switch (pid = fork()) {
18 advise("fork", "unable to");
24 fprintf(stderr, "unable to exec ");
30 return (pidwait(pid, -1) & 0377 ? 1 : 0);
33 return 1; /* NOT REACHED */
38 execprogl(char *cmd, char *arg, ...)
46 argv[argc++] = mhbasename(arg);
48 while ((cp = va_arg(ap, char *))) {
52 ret = execprog(cmd, argv);