title: Process.Start cmd results in "is not recognized"
body: <p>When launching an application directly, the application is launched, but when launched through <code>cmd</code> - it's not.</p>
  
  <p>For example:</p>
  
  <p>Works:</p>
  
  <pre><code>Process.Start("firefox");
  </code></pre>
  
  <p>Doesn't work:</p>
  
  <pre><code>Process.Start(
      new ProcessStartInfo
      {
          FileName = "cmd",
          Arguments = "/k firefox"
      });
  </code></pre>
  
  <p>I've tried setting <code>UseShellExecute</code> to true, but to no avail. I still get: </p>
  
  <blockquote>
    <p>'firefox' is not recognized as an internal or external command,
    operable program or batch file.</p>
  </blockquote>
  
  <p>So, yes, I can specify the complete path. But is there a way to avoid that? Or in other words - what's the difference between the two that makes the second fail?</p>