title: Process all arguments except the first one (in a bash script)
body: <p>I have a simple script where the first argument is reserved for the filename, and all other optional arguments should be passed to other parts of the script.</p>
  
  <p>Using Google I found <a href="http://wiki.bash-hackers.org/scripting/posparams#mass_usage">this wiki</a>, but it provided a literal example:</p>
  
  <pre><code>echo "${@: -1}"
  </code></pre>
  
  <p>I can't get anything else to work, like:</p>
  
  <pre><code>echo "${@:2}"
  </code></pre>
  
  <p>or</p>
  
  <pre><code>echo "${@:2,1}"
  </code></pre>
  
  <p>I get "Bad substitution" from the terminal.</p>
  
  <p>What is the problem, and how can I process all but the first argument passed to a bash script?</p>