自动填充执行中的要输入的数据

自动填充执行中的要输入的数据

有没有方法可以在脚本中需要输入数据的地方,让程序自己完成输入。
比如说我们自己已经编译生成了一个可执行的程序,目的是计算两个数的和
假定过程如下:
Input a:[用户输入a的值键入回车符]
Input b:[用户输入a的值键入回车符]
The sum is :****
我们给这个程序取名为sum.
然后我在脚本中调用这个程序sum,脚本的名字取名为mytest
我想问:能不能在脚本中实现自动填充a和b的值,而不用键入a和b的值。
输入mytest 4 5
就能直接计算两个数的和

这里只是为了把问题说明白,我才举了一个这么简单的例子,实际要比这个复杂,大家有没有解决类似问题的好办法      
上面的那个问题我已经在论坛上找到做法了,
但是现在又出现了新的问题
我这里有两个脚本:
1>testexpect.sh
-----------------------------------
#!/usr/bin/expect
spawn ./gpg.sh
expect "Enter passphrase: "
send -- "i am a great man\r"
expect eof
-----------------------------------
2>gpg.sh
------------------------------------
#!/bin/sh
date>time.txt
gpg -o tmp -d rootfs.gz.gpg
date>>time.txt
------------------------------------

如果仅仅执行gpg.sh结果是正确的,我也能得到我所要的输出文件tmp,但是如果我用第一个脚本调用第二个脚本的时候,却得不到输出文件tmp,请问这是怎么回事.
希望大家能够给予解答      
Good luck ! Welcome back !      
printf " number 1 : "
if [ "$num1" = "" ]; then
        read num1
fi
printf " number 2 : "
if [ "$num2" = "" ]; then
        read num2
fi
echo `expr $num1 + $num2`      
printf " number 1 : "
if [ "$num1" = "" ]; then
read num1
fi
if [ "$num1" = "" ]; then
read num1 = 2
fi
这样就预先设置值为2了      
to icewdq: testexpect.sh 的解释器为 expect,不能直接调用 gpg.sh