title: How to set an element of an array to an empty string
body: <p>I want to be able to not pass through the ampersand in the second last element in the below array to what is passed to execvp. What I was trying to do was get the size of the array and then set the second last element to an empty string, however the size I get returned is 1 (I believe this is because that's the size of the first character in what I am pointing to). Could anyone suggest how I can do this or an alternative option.</p>
  <pre><code>int main()
  {
      char *cmd = &quot;ls&quot;;
      char *argv[4];
      char **args = argv;
      argv[0] = &quot;sleep&quot;;
      argv[1] = &quot;3&quot;;
      argv[2] = &quot;&amp;&quot;;
      argv[3] = NULL;
  
      int n = sizeof(args) / sizeof(argv[0]);
      printf(&quot;size: %d\n&quot;, n);
      execvp(cmd, argv);
  }
  </code></pre>