| #include <stdio.h> |
| #include <stdlib.h> |
| #include <unistd.h> |
| |
| int main(int argc, char **argv) |
| { |
| if (argc == 1) |
| { |
| // This tests the case where argv and envp are NULL, which is easy to |
| // get wrong because it's an unusual case. |
| |
| #if defined(VGO_solaris) |
| // Solaris requires non-NULL argv parameter |
| char *const argv_exe[] = {"true", NULL}; |
| if (execve("/bin/true", argv_exe, NULL) < 0) |
| #elif defined(VGO_darwin) |
| if (execve("/usr/bin/true", NULL, NULL) < 0) |
| #else |
| if (execve("/bin/true", NULL, NULL) < 0) |
| #endif |
| { |
| perror("execve"); |
| exit(1); |
| } |
| } |
| |
| exit(0); |
| } |