Question: Given a graph's shortest path algorithm, how can you make use of it to find the second shortest path?

Solution: Let s be the source and d be the destination node in the graph G.
1) Find the shortest path between s and d using the given shortest path algo.
Let the shortest path be s ->v1->v2->v3->...vn->d.
2) For each link in set (s->v1, v1->v2, v2-v3, ..... vn->d):
a) break the link in G and get the shortest path of the remaining graph.
b) Add the broken link back.
3) Return the minimum of all shortest paths calculated in step 2.