title: why does subshell returns if: command not found
body: <p>Let's assume the following script:</p>
  <pre><code>echo &quot;if test 1 -eq $1 ; then echo ls;fi&quot; | tee /tmp/toto
  cat /tmp/toto
  $(cat /tmp/toto)
  </code></pre>
  <p>While running it with this command:
  <code>./non_secure_script 1</code></p>
  <p>I get the following error:
  <code>if: command not found</code></p>
  <p>However, the following command run with success:</p>
  <pre><code>$(if test 1 -eq 1; then echo ls;fi)
  </code></pre>
  <p>Why is this happening?</p>