O problema era que o usuário mule não tinha um shell. Foi definido como /bin/false .
A sinalização -m para su preserva o ambiente, portanto, quando chamei a variável de ambiente sudo /etc/init.d/mule start , a SHELL foi definida e passada para su .
Mas ao chamar sudo service mule start , o ambiente é limpo. De service man page:
SHELL e o usuário mule também não possui um shell. Portanto, nenhum comando é executado, parece.