title: Fabric - Passing arguments to tasks via execute
body: <p>I have the following Fabric task:</p>
  
  <pre><code>def ssh_keygen(user, dir):
     env.user = user
     run("ssh-keygen  %s" % dir)
  </code></pre>
  
  <p>I want to call it using "execute" but need to pass the task an argument. i.e. user and dir</p>
  
  <pre><code>execute(ssh_keygen('jbloggs', '/home/jbloggs'), hosts=["server1"])
  </code></pre>
  
  <p>However this does not work:</p>
  
  <pre><code>No hosts found. Please specify (single) host string for connection: Traceback (most recent 
  </code></pre>
  
  <p>Is there anyway to achieve this?</p>