Here's a neat little trick.

When you do this ...

   sh -c "do something with $foo"

.. you'll get into trouble when `$foo` contains special characters. At
first, you might think of doing this:

   sh -c "do something with \"$foo\""

Now, `$foo` is properly quoted, right? Nope. It works with spaces and
the asterisk, but *quotes* inside of `$foo` still break it:

   $ foo='hello        world'
   $ sh -c "echo \"$foo\""
   hello        world

   $ foo='hello * world'
   $ sh -c "echo \"$foo\""
   hello * world

   $ foo='hello " world'
   $ sh -c "echo \"$foo\""
   sh: -c: line 1: unexpected EOF while looking for matching `"'
   sh: -c: line 2: syntax error: unexpected end of file

In GNU Bash, you could do this:

   $ foo='hello " world *       and friends'
   $ printf -v foo_quoted '%q' "$foo"
   $ sh -c "echo $foo_quoted"
   hello " world *       and friends

But, well, that's Bash and not portable. I think a better way is to pass
`$foo` as an argument to the snippet, like so:

   $ foo='hello " world *       and friends'
   $ sh -c 'echo "$1"' _ "$foo"
   hello " world *       and friends

This should work with any POSIX sh.