¿Hay alguna forma de evitar "Error: línea de comando demasiado larga"?

Estoy usando un software de línea de comandos para el cual necesito ingresar muchos argumentos. Algo como

./exec -A argA -B argB -C argC ...

Hay tantos argumentos que me sale el mensaje de error

Error: Command line too long (302110 >= 130592)

Una solución sería modificar el software para que lea los argumentos de un archivo. Sin embargo, no tengo acceso al código fuente.

¿Hay alguna forma de evitar este problema?


FYI, estoy encendido Mac OS X 10.11.3y usoTerminal 2.6.1 (361.1)

getconf ARG_MAX-el máximo de caracteres permitidos por el núcleo.
curiosamente getconf ARG_MAXdevuelve 262144que es casi el doble que 130592(pero aún más bajo que 302110 ).

Respuestas (1)

Coloque los argumentos en un archivo como -A argA -B argB -C argC …(excluyendo el binario), luego ejecute:

cat /path/to/file | xargs ./exec
Muchas gracias por tu respuesta. Tuve algunos problemas mientras investigaba la aplicación de su solución a mi problema específico (aunque eso suena súper simple), así que hice esta pregunta donde la primera respuesta parece decir que cat /path/to/file | xargs ./execno puede ser una solución de todos modos.