title: How can I forward bash/zsh arguments to another shell
body: <p>I'm working on a system with a lot of tcsh configuration scripts, requiring me to run most programs through tcsh. I've attempted to make this easy for myself by adding this to my <code>~/.zshrc</code>:</p>
  
  <pre><code># run command in tcsh
  function t() {
      tcsh -c "$@"
  }
  </code></pre>
  
  <p>This works for something like <code>t ls</code>, but fails for <code>t ls -l</code>, which gives the error <code>Unknown option: `-l' Usage: tcsh ...</code>, and is clearly passing <code>-l</code> as an argument to <code>tcsh</code>, not to <code>ls</code>.</p>
  
  <p>How can I quote the string passed in <code>$@</code>?</p>