Hi,
With the new version of the compiler, the EXECUTE_COMMAND_LINE intrinsic fails under circumstances the SYSTEM() function didn't.
In a particular program, many of the commands I execute have ">/dev/null 2>&1" at the end (without the quotes), and that causes sh (both as bash and dash) to return with "sh: 1: Syntax error: Bad fd number".
When the command contains quotes (e.g., EXECUTE_COMMAND_LINE('cp -t "./""/some/file"')), sh shows that the intrinsic subroutine seems to append some garbage characters that end with \220. And combined with redirection, the message shown by sh is "sh: 1: ambiguous redirect" or syntax error due to unexpected token.
In all the cases, the actual argument is an expression (since I have ">/dev/null 2>&1" as a parameter defined somewhere else, and it's just being concatenated, and I'm also applyign concatenation for quoting the files in the command). And in all those cases, the EXECUTE_COMMAND_LINE intrinsic reports 0 in EXITSTAT and CMDSTAT.
I already checked all the commands being passed, and they're fine (and work properly with SYSTEM and SYSTEMQQ), so the problem should lie in the implementation of the EXECUTE_COMMAND_LINE intrinsic.
I apologize for not providing a test case, but so far I haven't been able to create a small test case.