shell script: Bind variable not declared

Hi Friends,

I am trying to run a sql query from shell script as below but I get "Bind variable "1" not declared" error.

1.sh shell script has following:
sDb="abc/xyz@aaa"
a="1.sql"
sqlplus -s $sDb @$a $1

1.sql file has following:
spool Result.tmp append
select cust_name from orders where order_id=&1;
spool off;
exit;

I execute shell script as below:
1.sh 1234

It creates the Result.tmp but has following error:
Bind variable "1" not declared

Thank you so much,
Prashant

what is that "&1" ??
if you wanna pass a argument to sql query
just write as shown below

sDb="abc/xyz@aaa"
a="1.sql"
sqlplus -s $sDb <<EOF
@$a $1
EOF

1.sql should be

spool Result.tmp append
select cust_name from orders where order_id=$1;
spool off;
exit;

or else

sqlplus -s abc/xyz@aaa <<EOF
spool Result.tmp append
select cust_name from orders where order_id=$1;
spool off;
exit;
EOF