¿Por qué git shell alias los arguments de la línea de command doble?

Git parece duplicar los arguments de la command-line proporcionados a sus alias de shell. Por ejemplo, si crea un alias que toma un solo argumento, cuando intente usarlo, el argumento se concatenará a sí mismo como si se hubiera proporcionado dos veces.

¿Por qué está pasando esto?

Esta demostración se probó con la última versión de Git 2.10:

$ git config alias.foo '!echo "$1"' $ git foo bar bar bar $ git config alias.foo '!echo "$1" "$2"' $ git foo bar qux bar qux bar qux