Assuming your shutdown process is something like:
Code:
$ORACLE_HOME/opmn/bin/opmnctl stopall
echo "shutdown"|sqlplus '/ as sysdba'
lsnrctl stop
Have you tried running the script outside of the server shutdown process? Where does it get stuck?
This script would need to run as the oracle account, server shutdown scripts will run as root so that may be part of the issue.