El código de retorno de System.exit no es detectado por bash eval

luchando con esto durante una hora ... código java:

ULogger.info("throwing out 666!");
System.exit(666);

envoltura de bash

eval ${COMMAND_TO_RUN}
ret_code=$?
printf "error code : [%d]" ${ret_code}

salida:

[2012-11-30 15:20:12,971][INFO ] throwing out 666!
error code : [0]

cual es el trato aqui Gracias...

[EDITAR]

los${COMMAND_TO_RUN} es

((java -Xmx9000m -Dtoday_nix=20121128 -cp "/usr/lib/hadoop/conf" com.paypal.risk.ars.linking.task_fw.BaseRunnableProcess 3>&1 1>&2 2>&3) | tee /dev/tty) > batches_errors.log

Respuestas a la pregunta(2)

Su respuesta a la pregunta