lsdoes not accept input from stdin. You can get around this if you need to use xargs:
which cp | xargs ls -l
This will invoke ls -lwith (possibly several if whichmore than one should have been returned) file names as command line arguments without standard input.