I know it wasn't designed this way, but it seems like it is a bug.
If I do read a b c <<<$(echo {1..3} ); echo "a:$a b:$b c:$c" I get: a:1 b:2 c:3 But If I do export IFS=','; read a b c <<<$(echo {1..3} ); echo "a:$a b:$b c:$c" I get: a:1 2 3 b: c: Why should the 2nd case return the wrong answer? I.e. shouldn't {1..3} use the IFS to separate arguments?