title: rsync from groovy: "-e" arg causing "unknown remote arg" error
body: <p>There's no shortage of questions regarding rsync invocation, but I don't see anything helpful in tens that I've read, so this is the command I'm struggling with:</p>
  
  <pre><code>$ rsync -av -e 'ssh -i key.id_dsa -l root' root@server:/dir/file /tmp/file
  </code></pre>
  
  <p>It works from bash. I invoke it from Groovy code using the <code>String.execute()</code> method and it fails as follows:</p>
  
  <pre><code>command exit code: 1
  rsync command output:
  
  rsync command error output:
  Unexpected remote arg: root@server:/dir/file
  rsync error: syntax or usage error (code 1) at main.c(1348) [sender=3.1.0]
  </code></pre>
  
  <p>Apparently, the <code>-e</code> switch and its value is the problem: commands such as <code>rsync -av -r --progress root@server:/dir/file /tmp/file</code> works flawlessly.</p>
  
  <p>Question 0: why is the <code>-e</code> parameter special?</p>
  
  <p>Question 1: how do I make it work?</p>