Simulate how a volume is mounted using diskarbitrationd
You hook into diskarbitrationd by using Apple's Disk Arbitration framework. Basically you call DASessionCreate() to create a DASessionRef, and then register one or more notification callbacks.

You would need to register for the DARegisterDiskMountApprovalCallback. This gives you a notification whenever diskarbitrationd is going to mount something new. By returning a DADissenterRef from this callback, you can prevent diskarbitrationd from actually mounting the file system.

Then you can mount the file system yourself and create shortcuts etc. using standard methods, such as the mount() system call.

Here's a direct link to the page in the programming guide, you'll need to examine:

https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Conceptual/DiskArbitrationProgGuide/ArbitrationBasics/ArbitrationBasics.html#//apple_ref/doc/uid/TP40009310-CH2-SW1