There can be several directories, where libs are being searched for.
That behavior can be either hardcoded in the specific program, or
defined in /etc/ld.so.conf. To keep things simple, I'd just use
lib/lib64 (libe is a symlink to lib64) well-known location for the
shared libs.
Waiting for the devices, especially, when there are more than one/two o
them is annoying. Let's make a compromise for user to choose hes way for
providing password for key and/or use specific device holding a key.