Si cuando colocas un valor correcto en la variable aux el resto del codigo funciona, parece que le problema es que la variable aux tiene un valor incorrecto. Pero sin saber que contienen las variables p, e y Tipo es dificil decirte que esta mal.
Lo que si puedo hacer es intentar adivinar el fallo. Si la ruta que le pasas como parametro tiene espacios se considerara como varios parametros diferentes y no como uno solo. Solucion: