2 ** execprog.c -- invoke an external command synchronously
3 ** This is a safer alternative to system(3)
10 execprog(char *cmd, char **arg)
17 switch (pid = fork()) {
20 advise("fork", "unable to");
26 fprintf(stderr, "unable to exec ");
32 return (pidwait(pid, -1) & 0377 ? 1 : 0);
35 return 1; /* NOT REACHED */
40 execprogl(char *cmd, char *arg, ...)
48 argv[argc++] = mhbasename(arg);
50 while ((cp = va_arg(ap, char *))) {
54 ret = execprog(cmd, argv);