# Join Array: Version 1
function join_array {
local IFS="$1"
shift
echo "$*"
}
echo "joined together v1: $(join_array , a "b c" d)"
# Join Array: Version 2
foo=('foo bar' 'foo baz' 'bar baz')
bar=$(printf ",%s" "${foo[@]}")
bar=${bar:1} # removes the first , incorrectly added to start of string
echo $bar
echo "joined together v2: $bar"