title: System call without invoking shell in R
body: <p>In base R, there are 3 main mechanisms for invoking a system command: <a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/system.html"><code>system</code></a>, <a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/system2.html"><code>system2</code></a>, and <code>shell</code> (which seems to share a manpage with <code>system</code>).  None of them provide a very reliable cross-platform way to run a system command without a shell getting in the way - and if a shell intervenes, we need to worry about shell injection attacks, about making sure the quoting is correct, and so on.</p>
  
  <p>Some languages provide direct access to the C-level <code>execvp</code> function (e.g. Perl's <a href="http://perldoc.perl.org/functions/system.html"><code>system PROGRAM LIST</code></a> mechanism), which is extremely helpful when I want to make sure that the strings in an array are exactly the strings the subprocess will see in its arguments, without looking around for the appropriate quoting routine for embedded whitespace, quotes, etc. and worrying about what they'll do on different platforms and different versions of shells.</p>
  
  <p>Is there a similar no-shell system-call mechanism available in R, perhaps in a CRAN package somewhere?  And/or is there any appetite for creating such a mechanism if there isn't one already?</p>