You still have a path error inside your script. You have to realize that when the script is executed by cron, it reads no (none, nada) profile file -- neither your personal one nor any global one that may exist on your system.
I'm not familiar with sqlplus, but from the symptoms, I would suggest that you look in your .profile file and look for an environment variable that has something to do with sql. Whatever that environment variable is, copy it inside your script (include the execute statement if needed). Examples to look for would be a "SQLLIB=" or similar.
If that does not work, find where sp1*.msb is located on your system (e.g., /opt/sql1/lib) and then look in your .profile file to see which environment variable contains that directory. Then copy that environment variable into your script.