たとえば
grep hoge ./*

とgrepしようとすると

Argument list too long
と表示されてgrepできないときがある。

そんなときは
echo ./* | xargs grep hoge
とするとgrepできる。

ちなみにこれはARG_MAXの値(シェルが展開した文字列のOS制限)
が超えたためであり echo はARG_MAXの制限を受けず
xargs はARG_MAXの値を把握しているため
値を超えそうになると複数回にわけて
実行しているためだそうな。

よくわからんが・・・