will "my.sh" be in the path? You didn't specify the full path to that file, how will it know where to find it?
I would start with putting some logging at each step of your cgi script to see where it gets to and take it from there.
Once you know which line is failing, then you know what to focus on.
Don't assume Solaris has the exact same syntax as Linux. Also don't assume the environments work exactly the same.