1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <unistd.h>
4
main(int argc,char ** argv)5 int main(int argc, char **argv)
6 {
7 if (argc == 1)
8 {
9 // This tests the case where argv and envp are NULL, which is easy to
10 // get wrong because it's an unusual case.
11
12 #if defined(VGO_solaris)
13 // Solaris requires non-NULL argv parameter
14 char *const argv_exe[] = {"true", NULL};
15 if (execve("/bin/true", argv_exe, NULL) < 0)
16 #elif defined(VGO_darwin)
17 if (execve("/usr/bin/true", NULL, NULL) < 0)
18 #else
19 if (execve("/bin/true", NULL, NULL) < 0)
20 #endif
21 {
22 perror("execve");
23 exit(1);
24 }
25 }
26
27 exit(0);
28 }
29