I hve code like

echo $1
echo $2

and am executing the code as ./script.sh /home/*.txt /home/*.xsd
The corresponding .txt files and .xsd files of the directory are getting substitued as the command line argument .

and it prints smething like
data.txt
value.xsd

Apart frm using *
if i use anything else it works fine . But my requirement is to pass it in this format in the command line ...

Am completely new to shell scripting ....Pls Help me ...

Because the shell will automatically expand those filename expansion characters before passing the arguments to the script. You might try using \* instead of *, but then, don't expect that the * will work as designed later (it may, then again it may not, I have not tried to "mask" the file expansion during initialisation then using it later).