if you're using sh <script name> then the file will not need to be executable (sh is actually just reading it, rather than "executing" it). using ./ specifies the local directory ( . ) as the path to the file, so unless you're in the root ( / ) directory, ./usr/local.... will not work.
when you tried "sh /usr/local..." were there any errors? what did happen (eg, after you hit enter, you get the prompt again) it may be that things are running fine, and there isn't any output produced by the script.
if you're comfortable editing the file, add in a line like "echo the script is running" to the script. this will produce output that will confirm the script is actually being executed.