If you assume that there is a /bin/sh and it supports a moderate portion of Bourne syntax, you shouldn't have much problems. ash, dash, bash, ksh, zsh; all support a common level of traditional syntax.
shells/v7sh is my favorite tool for testing scripts. I know, if v7sh understands it, almost any systems /bin/sh should, sort of systems with the old Thompson or PWB shells around... in which case, the script is probably screwed anyway.
__________________
My
Journal
Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.