Xargs

Hello, I need some help with xargs

$ ls
aaa  bbb  ccc  ddd
$ ls | xargs -I{} ls -la {}
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 aaa
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 bbb
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 ccc
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 ddd

it's possible to have output like this with xargs:

$ ls | xargs -I{} ls -la {}
-----> aaa
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 aaa
-----> bbb
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 bbb
-----> ccc
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 ccc
-----> ddd
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 ddd

so before output dispaly what paramater was 'sent' to xargs

ls | while read DIR; do
  echo "----> $DIR"
  ls -lad "$DIR"
done

Also for loop is another option:

name=$( basename $0 )

for file in *
do
        [ "$file" == "$name" ] && continue
        echo "-----> "$file"
        ls -la "$file"
done

ok i found solution:

ls | xargs -i ksh -c 'echo file: {}; ls -la {}'