Crie uma função de shell, para que você possa perder as aspas externas.
groe() {
vim -c 'normal "+p1Gdddd"' -c ':%s/\n/' -c 'normal"gVGgJy"' -c'q!' "$@"
}
Isso deve chamar vim com os argumentos -c , normal "+p1Gdddd" , -c , :%s/\n/ , -c , normal"gVGgJy" , -cq! . O "$@" no expande para os parâmetros que você deu à função, então groe foo.txt deve funcionar.