I've read bash manpage and other docs, but I find the explanation a bit confusing.I have the following simple script:#!/bin/bashIFS=echo $2var=A B Cecho $varif I execute it, eg:LANG=C ./args2 3 44./args2: line 7: B: command not foundI really don't understand, why $2 = 4? If manual says:If the value of IFS   is null, no word splitting occurs.The same thing with var declaration, why it complains about B? So there is word splitting anyway?
How is IFS really rendered?
bash
This section of the bash manual lays out the steps: Shell OperationIn step 3, the script is broken up into commands, arguments, etc. in this step, we get the tokens var=A, B and Csee section Simple Commands where it says (emphasis mine):A simple command is [...] just a sequence of words separated by blanks   Word splitting is not performed until expansions, step 4.As Qudit explained, your shell split LANG=C ./args2 3 4 into tokens before launching the command ./args2