I simply don't understand
command-line (works):
$ someprog -flag 'key1=val 1,key2=val 2,key3=val 3'
sh direct (works):
#!/bin/sh
someprog -flag 'key1=val 1,key2=val 2,key3=val 3'
sh variable (fails):
#!/bin/sh
OPTSTR="'key1=val 1,key2=val 2,key3=val 3'"
someprog -flag "$OPTSTR" #fails
someprog -flag ${OPTSTR} #fails
someprog -flag $OPTSTR #fails
eval "someprog -flag $OPTSTR" #works