Avec Bash, je préfère généralement éviter les xargs pour tout ce qui est un tant soit peu délicat, au profit des boucles while-read. Pour votre question, while read -ar LINE; do ...; done
fait le travail (n'oubliez pas d'utiliser la syntaxe des tableaux avec LINE, par exemple, ${LINE[@]}
pour toute la ligne). Cela ne nécessite aucune astuce : par défaut, read utilise seulement \n
comme caractère de fin de ligne.
Je devrais poster une question sur SO à propos des avantages et des inconvénients de xargs par rapport aux boucles while-read... C'est fait !