title: Calling "ps" command with arguments with execl has unexpected behaviour
body: <p>I wrote a simple C program that uses the execl function. What I'm expecting to see after running this program is the output of <code>ps -U myusername</code>.</p>
  
  <p>If writing <code>ps -U myusername</code> in terminal, I get the desired result.</p>
  
  <p>If calling <code>execl("/bin/ps", "/bin/ps", "-U myusername", NULL)</code> I get the following error message <code>error: improper list</code>.</p>
  
  <p>However, if I remove the space from <code>-U myusername</code>, and call the function in the following way: <code>execl("/bin/ps", "/bin/ps", "-Umyusername", NULL)</code>, I get the correct result.</p>
  
  <p>Why is this happening and how can I achieve the expected behaviour (this is just a simple example; what I actually want is to let the user input the command and split it in command and arguments and finally call something like <code>execlp("command", "command", "arguments", NULL)</code>.)?</p>