Agile teams aren't supposed to have a team lead. After all, Scrum doesn't have a role for that. Besides, Agile teams are supposed to have T-shaped skills so there is no need for a team lead.
The reality is that most teams have at least one team member that has a senior presence. Maybe this person has the most overall experience or maybe they've been with the organization the longest. Regardless, this person often becomes the goto resource whenever the ream runs into trouble. This presents a problem when the team lead is unable to tend to any user stories because he/she is constantly inundated with requests from their own team and/or other teams.
Here are a few options:
1. Pair Program
Have the team lead pair up with another team member so if the team lead is pulled away, the other team member can continue working on the user story. When the team lead returns they are brought up to speed by the team member which essentially minimizes the effects of context switching.
2. Mob Programming
Building on the concept from #1 the idea here is that the whole team benefits from the knowledge of the team lead instead of just one other person.
Have the team lead circulate from team member to team member. So the team lead does not take on any work per se. Instead they are responsible for helping the other team members complete their stories. If the team lead does experience down time, they can pickup a user story or work on a task that their team members will require in the near future.