9 int main(int argc, char *argv[])
15 fprintf(stderr, "usage: %s PROG [ARGS]\n", argv[0]);
20 fprintf(stderr, "%s: fork: %s\n", argv[0], strerror(errno));
24 execvp(argv[1], argv + 1);
25 fprintf(stderr, "%s: exec %s: %s\n", argv[0], argv[1], strerror(errno));
28 if (waitpid(kid, &rc, 0) <= 0) {
29 fprintf(stderr, "%s: wait: %s\n", argv[0], strerror(errno));
32 if (!WIFEXITED(rc) || WEXITSTATUS(rc) == 111)
34 exit(WEXITSTATUS(rc) == 0 ? 100 : 0);