Was doch manchmal Quotas so ausmachen... die Bash mag sonst Leerzeichen INNERHALB des Strings (der Zeile) nicht ausgeben.
Korrektur:
#!/bin/bash
# $home/bin/ltrim.sh
## USAGE:
# echo -e "\t \thallo\n \twelt\n Hallo Welt" | ltrim.sh
# program | ltrim.sh
# ltrim.sh < file
while read str; do
e="";
i=0;
f=0;
l="${#str}";
while [ $i -lt $l ]; do
e=("${str:$i:1}");
if [ 0 -eq $f ]; then
if [ " " != "$e" ]; then
if [ "\t" != "$e" ]; then
f=1;
echo -n "$e";
fi
fi
else
echo -n "$e";
fi
i=$((i+1))
done
echo "";
done