Found a method to do this. In CUPS you can set options in the printer driver at printing time. You just have to select an appropriate driver for the printer which is compatible.
lpoptions -p <printer name> -l (e.g: lpoptions -p laserjet -l)
This command will give you the available options for the printer.
With the -o option of lp command you can provide these options.
For example to set double sided printing with long edge binding you can have;
lp -o sides=two-sided-long-edge -d <printer name> <filename>
And if you want to specify the paper source (Say the option is Tray1 for Tray 1 in the driver) you can have
lp -o sides=two-sided-long-edge -o media=Tray1 -d <printer name> <filename>
I found this from the CUPS Software Users Manual
. There are lot more options that can be used in this.
Thanks for the helpful tips.