En realidad es posible, tal vez se modificó recientemente, --output opción es lo que necesita.
En tu ejemplo:
ar x libclsr11.a --output tmp
La solución depende de la versión de ar . Puedes usar ar --version para mostrar la versión de ar en su sistema.
Para ar/GNU binutils anteriores a la versión 2.34:
Desafortunadamente, ar antes de la versión 2.34 no proporciona una forma de especificar el directorio donde se extraerán los archivos. (Al menos no pude encontrar uno). Siempre usa el directorio actual. Sin embargo, existe una solución sencilla:cambie al directorio de destino antes de la extracción y use la ruta relativa al archivo en su lugar:
# cd ./tmp/
# ar x ../libclsr11.a
De esta forma deberías terminar con clsrcact.o, clsrcclu.o y clsrccss.o dentro del directorio ./tmp/.
Para ar/GNU binutils versión 2.34 o posterior:
La versión 2.34 de binutils introdujo el --output para el ar programa. (Consulte el registro de cambios). Se puede usar para especificar el directorio donde se extraerán los contenidos:
# ar x --output tmp libclsr11.a
De esa manera, el contenido del archivo aterrizará dentro del tmp directorio sin tener que usar la solución alternativa para ar anterior versiones.