replacing a string in a file with command line parameter

Hello,
I am trying to replace a string with a paramter given along with the script.
I am replacing application1 to application2 with the script:
./change_app.sh application2

change_app.sh:
#!/bin/ksh
grep $1 applications.dat 2>&1 >/dev/null
echo $1
file=pckage.new
sed 's/Name: application1/Name: ${1}/g' "$file" > ./tmpfile
mv ./tmpfile "$file"

applications.dat has all the applications

But I get output as ${1} instead of application2. But when I echo $1, I get application2.
Please help in where I am going wrong, or if there is any better way.

Thanks

sed 's/Name: application1/Name: ${1}/g' "$file" > ./tmpfile

should be:

sed 's/Name: application1/Name: '${1}'/g' "$file" > ./tmpfile

Oops.. Thank you.
Quick question:
What do I have to do if I don't know the application1 name, but have to change - say a string next to Name: with application2.

sed 's/Name: application1/Name: '${1}'/g' "$file" > ./tmpfile

How do I refer application1 globally ?

You can do something like this (assume application name is alphanumeric) :

sed -e "s/Name: [[:alnum:]]\{1,\}/Name: ${1}/g" "$file" > ./tmpfile

Jean-Pierre.

I have a Version Name: 1.0.0_A0
I have to change to 1.1.0_A1
With the script
sed -e "s/Name: [[:alnum:]]\{1,\}/Name: ${1}/g" "$file" > ./tmpfile

The output I am getting is 1.1.0_A10.0_A0

I think its stopping when it sees '.'
Can you please tell me what do I need to do for special characters ??

Thanks

The following characters have been added : - . _

sed -e "s/Name: [-[:alnum:]._]\{1,\}/Name: ${1}/g" "$file" > ./tmpfile

The character - must be specified first.