title: Execve is giving bad address
body: <p>I'm having a little problem with the execve command. The program Test should create two children and each one should run an execve to load and run another program. But I'm getting a bad address on both the execve. The code is as follows:</p>
  
  <pre><code>#include &lt;stdlib.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  #include &lt;sys/stat.h&gt;
  #include &lt;errno.h&gt;
  #include &lt;time.h&gt;
  #include &lt;sys/ipc.h&gt;
  #include &lt;sys/types.h&gt;
  #include &lt;sys/wait.h&gt;
  
  int main(){
      int child_1, child_2;
  
      child_1=fork();
      if(child_1==0){
          char* argv[]={"Test", "Test_1", "NULL"};
          if((execve("Test_1", argv, NULL))&lt;0) perror("execve 1 fail");
          exit(0);
      }else if(child_1&lt;0)perror("error fork");
      else wait(NULL);
  
      child_2=fork();
      if(child_2==0){
          char* argv1[]={"Test", "Test_2", "NULL"};
          if((execve("Test_2", argv1, NULL))&lt;0) perror("execve 2 fail");
          exit(0);
      }else if(child_2&lt;0)perror("error fork");
      else wait(NULL);
  return 0;
  }
  </code></pre>