No AIX (mas isso também acontece no HP-UX), tenho o GNU ls no meu caminho e também é alias como ls.
Quando uso xargs, ele usa o Unix padrão em lsvez do alias.
Por exemplo ( flocateé uma função que encontra o caminho exato do assunto da pesquisa):
flocate mirrorvg | xargs ls -lh
ls: illegal option -- h
usage: ls [-1ACFHLNRSabcdefgiklmnopqrstuxEUX] [File...]
ls -lh /usr/sbin/mirrorvg
-r-xr-x--- 1 root system 37K apr 3 2014 /usr/sbin/mirrorvg*
Por que o xargs não usa o lsalias?
lsexecutável em sua$PATHvariável de ambiente e precede o diretório (provavelmente/bin) que contém olscomando não-GNU ? Atualize sua pergunta para nos mostrar o valor real do seu$PATH.xargsexecutará o primeirolscomando encontrado em um diretório no seu$PATH; não conhece aliases.