title: Why does this IFS variable assignment not affect the cmd it precedes?
body: <p>Consider this bash session:</p>
  
  <pre><code>set -- 1 2 3
  echo "$*"          # 1 2 3  (as expected)
  IFS=a echo "$*"    # 1 2 3  (why not "1a2a3"?)
  IFS=a; echo "$*"   # 1a2a3a (as expected)
  </code></pre>
  
  <p><a href="https://tio.run/##S0oszvj/vzi1REFXV8FQwUjBmCs1OSNfQUlFS0kBDpQhUgoKGonFCqkVBanJJakpmlyebsG2iQoo6hEqyzMqFfLySxSUDBONEo2V7KHKrVHUA5WDZBNRDf7/HwA" rel="nofollow noreferrer" title="Bash – Try It Online">Try it online!</a></p>
  
  <p>Why does the "assignment before command" syntax not work to set <code>IFS</code> to a different value for the duration of the single command?  It appears you must change the value of <code>IFS</code> first with a separate command.   </p>