Você não deve usar startproc
para iniciar um script shell-wrapper: startproc destina-se a iniciar um processo do daemon diretamente. Ele verifica se o processo está ativo e em execução e define seu código de retorno de acordo.
No seu caso startup.sh
não estará em execução após a inicialização do Tomcat - haverá um processo java com uma caixa de parâmetros. Então, como "startup.sh" não está mais em execução, o startproc retornará "falha".