title: What is the best way to store sliced arguments in Bash?
body: <p>Example</p>
  
  <pre><code>&gt;&gt;./my_script.sh a b c
  </code></pre>
  
  <p>If I try to <code>echo</code> argument <code>2</code> - <code>...</code>, I may do</p>
  
  <pre><code>&gt;&gt;echo "${@:2}"
  a b c
  </code></pre>
  
  <p>And if i want to store <code>${@:2}</code> in variable, these methods will not work</p>
  
  <pre><code>my_params=${@:2}
  </code></pre>
  
  <p>or</p>
  
  <pre><code>my_params="${@:2}"
  </code></pre>
  
  <p>But this way is work</p>
  
  <pre><code>my_params="$(echo ${@:2})"
  </code></pre>
  
  <p>I can feel an ugliness of this way. So, my questions are</p>
  
  <ol>
  <li><p>What is the proper way to store a sliced arguments?</p></li>
  <li><p>How to assign those sliced arguments to a variable?</p></li>
  <li><p>How to reuse it as parameters of another function again?</p></li>
  </ol>