QGIS should be able to do that easily without any plugins.
First, you will need to make sure you are using the correct projections. You may already be doing this, and setting projections can be cumbersome depending on where your shapefile is located in the world, what projection it is in etc.
In QGIS, go to the "Vector" menu, choose "Geoprocessing Tools", ...
This is by design. Overpass API won't allow preparing data in a form which would be suitable for mass changes/mechanical updates. Although you can include geometry details in your result, it will be returned in a completely different format:
This can be used using GDAL. First, install GDAL for your OS.
You can convert files from the terminal by using following command:
#ogr2ogr -f GeoJSON -t_srs crs:84 [output_filename].geojson [input_filename].shp
If you want to use python script then by calling subprocess, this can be achieved. Python script example is given below:
#Convert Esri .shp file ...
this is just an update of @ChadCooper's answer, because "da" cursors are now advantageously replacing the previous cursors:
with arcpy.da.SearchCursor(input_table,[orig_namefield,x1,y1,x2,y2] ) as in_rows:
with arcpy.da.InsertCursor(output_lines,["SHAPE@",name_field]) as cursor:
for row in in_rows:
# build array for line segment