title: Why IFS impact subshell variable?
body: <p>This KSH code working fine on AIX and RH with the standard IFS (default)</p>
  
  <pre><code>[ "$(uname)" = "AIX" ] &amp;&amp; ECHO="echo" || ECHO="echo -e"
  echo "AA BB CC DD" | while read a b c d; do
  [ "`$ECHO $a | cut -c1-2`" = "AA" ] &amp;&amp; echo $b
  done
  </code></pre>
  
  <p>If i set a different IFS like a ; for example</p>
  
  <pre><code>[ "$(uname)" = "AIX" ] &amp;&amp; ECHO="echo" || ECHO="echo -e"
  IFS=";"
  echo "AA;BB;CC;DD" | while read a b c d; do
  [ "`$ECHO $a | cut -c1-2`" = "AA" ] &amp;&amp; echo $b
  done
  </code></pre>
  
  <p>I get an error like only on RH not Aix</p>
  
  <pre><code>+ echo 'AA;BB;CC;DD'
  + read a b c d
  + cut -c1-2
  + 'echo -e' AA
  -ksh: line 3: echo -e: not found
  + [ '' '=' AA ]
  + read a b c d
  + echo .....
  + cut -d. -f1
  
  </code></pre>
  
  <p>Someone can explain me why this is happening and how we can solved it without a eval ?
  Thanks for your time :-)</p>