When using scripts you shouldn't assume that any variables are 'inherited', set them explicitly or source a file that sets them. This is especially true if your startup script is using 'su' to launch a process as another user, by default su will sanitise the environment before executing the script.
Do something like:
su - tomcat -c ". /home/tomcat/env.sh; /opt/tomcat/bin/tomcatctl start"