ls positional parameter

Hi .
I am new to Unix. So i have a tough time.
we are using Korn Shell. I have a scenario where i have three files namely
xxx01,xxx02,xxx03. Now when i write ls xxx*|wc -l output is 3. But then i write `ls $1|wc -l` and pass xxx* as positional parameter (sh yyy.sh xxx*)
output is xxx01. other two files are not read. Why is this happening. Can i use the positional parameters in ls like commands. Please help

What you need is "$" or "$@" . xxx gets expanded by the shell before being passed to the script. So $1 is xxx01 which is what you see.