O erro fatal provavelmente está saindo em STDERR (2), não em STDOUT (1). Você pode redirecionar STDERR para STDOUT com 2>&1
e, em seguida, o pipe também deve capturá-lo.
./some_app -i $INDEX 2>&1 | tee $LOG
Se você tiver problemas de buffer no topo, você pode forçá-lo a um estado sem buffer:
stdbuf -o0 ./some_app -i $INDEX 2>&1 | tee $LOG