1  #define NULL ((void *)0)
       2  
       3  extern int execl(const char *pathname, const char *arg, ...);
       4  extern int execlp(const char *file, const char *arg, ...);
       5  extern int execle(const char *pathname, const char *arg, ...);
       6  extern int execv(const char *pathname, char *const argv[]);
       7  extern int execvp(const char *file, char *const argv[]);
       8  extern int execvpe(const char *file, char *const argv[], char *const envp[]);
       9  
      10  int test_execl_ls_al ()
      11  {
      12    return execl ("/usr/bin/ls", "ls", "-al", NULL);
      13  }
      14  
      15  int test_execlpl_ls_al ()
      16  {
      17    return execlp ("ls", "ls", "-al", NULL);
      18  }
      19  
      20  int test_execle_ls_al ()
      21  {
      22    const char *env[3] = {"FOO=BAR", "BAZ", NULL};
      23    return execl ("/usr/bin/ls", "ls", "-al", NULL, env);
      24  }
      25  
      26  int test_execv_ls_al ()
      27  {
      28    char *argv[3] = {"ls", "-al", NULL};
      29    return execv ("/usr/bin/ls", argv);
      30  }
      31  
      32  int test_execvp_ls_al ()
      33  {
      34    char *argv[3] = {"ls", "-al", NULL};
      35    return execvp ("ls", argv);
      36  }
      37  
      38  int test_execvpe_ls_al ()
      39  {
      40    char *env[3] = {"FOO=BAR", "BAZ", NULL};
      41    char *argv[3] = {"ls", "-al", NULL};
      42    return execvpe ("ls", argv, env);
      43  }