Não há como especificar "subir em muitos níveis necessários para encontrar my_library
" em um caminho, porque expandir esse caminho exigiria uma recursão cada vez mais cara; no caso comum de um caminho inexistente, e. um erro de digitação, ele poderia percorrer todo o caminho até o diretório raiz e, em seguida, ter que pesquisar o sistema de arquivos inteiro e retornar "caminho não encontrado" pode levar minutos ou horas (ou, se você tiver montagens de diretório NFS ou Samba) configurado, mais tempo ainda).
Você precisará encontrar um método para definir o caminho em questão com base no processo que está realizando.