#!/bin/bash
#!/bin/bash

# pretend this is something evil -- deleting your home directory or opening a reverse SSH connection
run_an_arbitrary_command() { echo "GOTCHA"; }

set -x

declare -A parms
parms[engine]=\"Sweave\"
parms[verbose]=FALSE
parms[tangle]=TRUE
parms["complex key"]="two words"

catarr() {
  local eval_str

  printf -v eval_str '
    for k in "${!%q[@]}"; do
      parmstring+=", $k=${%q[$k]}"
    done
  ' "$1" "$1"
  eval "$eval_str"
}
parmstring=""
catarr parms
catarr 'foo[@]}"); run_an_arbitrary_command; # '

echo ${parmstring[*]}
